/**********************************************************      
  
 * 类名称：ConfigGroupEnumerableResource   
 * 类描述：   
 * 创建人：夏鸿鹏 
 * 创建时间：2017年11月27日 下午1:29:25   
 * 修改备注：   
 *   
 **********************************************************/
package com.wuuxiang.polestar.core.spring;

import java.io.Closeable;
import java.io.IOException;
import java.util.Map;
import java.util.UUID;

import javax.annotation.PreDestroy;

import org.springframework.core.env.EnumerablePropertySource;
import org.springframework.util.StringUtils;

import com.wuuxiang.polestar.core.ConfigGroup;

public class ConfigGroupEnumerableResource extends EnumerablePropertySource<ConfigGroup> implements Closeable {


	public ConfigGroupEnumerableResource(ConfigGroup configNode) {
		super(UUID.randomUUID().toString(), configNode);
	}

	@Override
	public Object getProperty(String name) {
		return super.getSource().get(name);
	}

	@Override
	@PreDestroy
	public void close() throws IOException {
		super.getSource().close();
	}

	@SuppressWarnings({ "unchecked", "rawtypes" })
	@Override
	public String[] getPropertyNames() {
		return StringUtils.toStringArray(((Map) this.source).keySet());
	}
	
}

  